package com.api.demo.dto.sync;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.URL;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
 * @description: 同步商户DTO
 * @author: yanming
 * @createDate: 2022/10/04 10:29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "同步商户DTO")
public class SyncDataCompanyDTO extends SyncDataDTO {


    private static final long serialVersionUID = -3796798540977964380L;

    @ApiModelProperty(value = "服务商统一信用代码", required = true)
    @NotBlank(message = "服务商统一信用代码不能为空")
    private String taxCreditCode;

    @ApiModelProperty(value = "企业ID", required = true)
    @NotBlank(message = "企业ID不能为空")
    private String companyId;

    @ApiModelProperty(value = "企业名称", required = true)
    @NotBlank(message = "企业名称不能为空")
    private String companyName;

    @ApiModelProperty(value = "公司地址", required = true)
    @NotBlank(message = "公司地址不能为空")
    private String companyProvince;

    @ApiModelProperty(value = "社会信用代码", required = true)
    @NotBlank(message = "社会信用代码不能为空")
    private String creditCode;

    @ApiModelProperty(value = "公司联系人邮箱")
    private String linkEmail;

    @ApiModelProperty(value = "经营范围", required = true)
//    @NotBlank(message = "经营范围不能为空")
    private String businessScope;

    @ApiModelProperty(value = "所属行业", required = true)
//    @NotBlank(message = "所属行业不能为空")
    private String industry;

    @ApiModelProperty(value = "注册资金（单位万元）")
    private BigDecimal registeredCapital;

    @ApiModelProperty(value = "公司营业执照", required = true)
    @NotBlank(message = "公司营业执照不能为空")
    @URL(message = "公司营业执照链接异常")
    private String businessLicense;

    @ApiModelProperty(value = "开户许可照片")
    @URL(message = "开户许可照片链接异常")
    private String openLicense;

    @ApiModelProperty(value = "收款单位账号", required = true)
    @NotBlank(message = "收款单位账号")
    private String bankCode;

    @ApiModelProperty(value = "开户行名称", required = true)
    @NotBlank(message = "开户行名称不能为空")
    private String bankName;

    @ApiModelProperty(value = "办公场所照url")
    @URL(message = "办公场所照url链接异常")
    private String officePicture;

    @ApiModelProperty(value = "法人姓名", required = true)
//    @NotBlank(message = "法人姓名不能为空")
    private String companyMan;

    @ApiModelProperty(value = "法人身份证号码")
    @Length(max = 50,message = "法人身份证号码长度不能超过50")
    private String idCardCode;

    @ApiModelProperty(value = "法人手机号")
    private String mobile;

    @ApiModelProperty(value = "法人身份证正面")
    private String idCardFront;

    @ApiModelProperty(value = "法人身份证反面")
    private String idCardBack;

    @ApiModelProperty(value = "公司联系人姓名", required = true)
    @NotBlank(message = "公司联系人姓名不能为空")
    private String linkMan;

    @ApiModelProperty(value = "公司联系人电话", required = true)
    @NotBlank(message = "公司联系人电话不能为空")
    private String linkMobile;

    /**
     * 加盟合同和服务商的合同是一起签的
     */
    @ApiModelProperty(value = "合同url",required = true)
//    @NotBlank(message = "合同url不能为空")
    @URL(message = "合同url链接异常")
    private String contract;


    @ApiModelProperty(value = "创建时间", required = true)
    @NotBlank(message = "创建时间不能为空")
    private String createDate;


//    没有 直接拿成本费率
//    @ApiModelProperty(value = "合作费率", required = true)
//    @NotNull(message = "合作费率不能为空")
//    private BigDecimal rate;


//    @ApiModelProperty(value = "成立时间")
//    private String setUpDate;
//
//    @ApiModelProperty(value = "公司描述",required = true)
//    @NotBlank(message = "公司描述不能为空")
//    private String companyDesc;
//
//    @ApiModelProperty(value = "公司logo")
//    private String companyLogo;
//
//    @ApiModelProperty(value = "公司规模", required = true)
//    @NotBlank(message = "公司规模不能为空")
//    private String companySize;
//
//    @ApiModelProperty(value = "联系人地址-所属地区", required = true)
//    @NotBlank(message = "联系人地址-所属地区不能为空")
//    private String address;
//
//    @ApiModelProperty(value = "联系人地址-详细地址", required = true)
//    @NotBlank(message = "联系人地址-详细地址不能为空")
//    private String addressDesc;
//
//    @ApiModelProperty(value = "开票公司名称", required = true)
//    @NotBlank(message = "开票公司名称不能为空")
//    private String invoiceCompanyName;
//
//    @ApiModelProperty(value = "开票公司纳税识别号", required = true)
//    @NotBlank(message = "开票公司纳税识别号不能为空")
//    private String invoiceTaxCode;
//
//    @ApiModelProperty(value = "开票公司地址电话", required = true)
//    @NotBlank(message = "开票公司地址电话不能为空")
//    private String invoiceAddress;
//
//    @ApiModelProperty(value = "开票信息-电话", required = true)
//    @NotBlank(message = "开票信息-电话")
//    private String invoiceMobile;
//
//    @ApiModelProperty(value = "开票公司开户行及账号", required = true)
//    @NotBlank(message = "开票公司开户行及账号不能为空")
//    private String invoiceBankAccount;
//
//    @ApiModelProperty(value = "收款单位名称", required = true)
//    @NotBlank(message = "收款单位名称不能为空")
//    private String titleOfAccount;
//
//    @ApiModelProperty(value = "门牌照url")
//    private String doorplatePicture;
//
//    @ApiModelProperty(value = "前台照url")
//    private String frontDeskPicture;
//
//    @ApiModelProperty(value = "平台加盟合同类型，OFFLINE：线下（默认），ONLINE：线上")
//    private ContractTypeEnum contractType;
//
//    @ApiModelProperty(value = "真实性承诺函url")
//    private String acknowledgement;
//
//    @ApiModelProperty(value = "税务申报单url")
//    private String taxDeclare;


}